package com.inspectortime.repository.impl;

import java.io.Serializable;
import java.util.Collections;
import java.util.List;

import com.inspectortime.domain.Employee;
import com.inspectortime.domain.Inspection;
import com.inspectortime.domain.Inspector;
import com.inspectortime.domain.InspectorCompany;
import com.inspectortime.domain.OptionalService;
import com.inspectortime.domain.RealEstateAgent;
import com.inspectortime.domain.Scheduler;
import com.inspectortime.domain.User;
import com.inspectortime.domain.ZipCodeGeoData;
import com.inspectortime.domain.billing.Invoice;
import com.inspectortime.domain.billing.InvoiceLineItem;
import com.inspectortime.domain.billing.Payment;
import com.inspectortime.domain.billing.PaymentLineItem;
import com.inspectortime.domain.billing.PaymentSourceType;
import com.inspectortime.domain.impl.ZipCodeGeoDataImpl;
import com.inspectortime.domain.pricing.BaseFeeWithAdjustersCalculator;
import com.inspectortime.domain.pricing.FeeCalculator;
import com.inspectortime.repository.Factory;
import com.inspectortime.repository.Repository;

/**
 * @author mkvalsvik
 */
public class MockRepositoryImpl implements Repository {

	private Factory factory = new Factory();
	

	
	public void deleteInspection(Inspection inspection) {
	}


	public void deleteInspector(Inspector inspector) {
	}
	
	public void deleteAllInspectionsForInspector(Inspector inspector) {
	}
	
	public void deleteAllInspectionsForInspectorCompany(InspectorCompany company) {
	}
	
	public void deleteEmployee(Employee employee) {
	}

	public void deleteInspectorCompany(InspectorCompany company) {
	}
	
	public void deleteFeeCalculator(InspectorCompany company, FeeCalculator calc) {
	}

	public void deleteScheduler(Scheduler scheduler) {
	}
	
	public void deleteRealEstateAgent(RealEstateAgent realEstateAgent) {
	}
	
	public List<RealEstateAgent> findAllRealEstateAgents() {
		return Collections.EMPTY_LIST;
	}

	public List<InspectorCompany> findAllInspectorCompanies() {
		return Collections.EMPTY_LIST;
	}

	public List<User> findAllUsers() {
		return Collections.EMPTY_LIST;
	}

	public Inspection findInspectionByCode(String inspectionCode) {
		return factory.createInspection();
	}

	public List<Inspection> findInspectionsByReferringAgent(RealEstateAgent agent) {		
		return Collections.EMPTY_LIST;
	}
	
	public InspectorCompany findInspectorCompanyByName(String name) {
		return factory.createInspectorCompany();
	}

	public InspectorCompany findInspectorCompanyByShortName(String shortName) {
		return factory.createInspectorCompany();
	}

	public List<Inspection> findQuickBookedInspections() {
		return Collections.EMPTY_LIST;
	}

	public RealEstateAgent findRealEstateAgentByCode(String code) {
		return factory.createRealEstateAgent();
	}

	public User findUserByEmail(String email) {
		return factory.createInspector();
	}

	public User findUserByEmailOrUserName(String searchTerm) {
		return factory.createInspector();
	}

	public User findUserByPasswordResetToken(String token) {
		return factory.createInspector();
	}

	public User findUserByUserName(String userName) {
		return factory.createInspector();
	}

	public ZipCodeGeoData findZipCodeGeoData(String zipCode) {
		return new ZipCodeGeoDataImpl();
	}

	public List<ZipCodeGeoData> findZipCodeGeoDataInRange(double lowLatitude,
			double highLatitude, double lowLongitude, double highLongitude) {
		return Collections.EMPTY_LIST;
	}


	public BaseFeeWithAdjustersCalculator loadBaseFeeWithAdjustersCalculator(
			Serializable id) {
		// TODO Auto-generated method stub
		return null;
	}


	public Inspection loadInspection(Serializable id) {
		// TODO Auto-generated method stub
		return null;
	}


	public Inspector loadInspector(Serializable id) {
		// TODO Auto-generated method stub
		return null;
	}


	public InspectorCompany loadInspectorCompany(Serializable id) {
		// TODO Auto-generated method stub
		return null;
	}


	public OptionalService loadOptionalService(Serializable id) {
		// TODO Auto-generated method stub
		return null;
	}


	public RealEstateAgent loadRealEstateAgent(Serializable id) {
		// TODO Auto-generated method stub
		return null;
	}


	public Scheduler loadScheduler(Serializable id) {
		// TODO Auto-generated method stub
		return null;
	}


	public User loadUser(Serializable id) {
		// TODO Auto-generated method stub
		return null;
	}


	public InvoiceLineItem findInvoiceLineItemByInspectionId(
			String inspectionId) {
		// TODO Auto-generated method stub
		return null;
	}


	public List<Invoice> findInvoicesForCompanyId(String companyId) {
		// TODO Auto-generated method stub
		return null;
	}


	public Invoice loadInvoice(Serializable id) {
		// TODO Auto-generated method stub
		return null;
	}


	public Payment findCompletedPaymentBySource(String sourceId) {
		// TODO Auto-generated method stub
		return null;
	}


	public List<PaymentLineItem> findPaymentLineItemsBySource(String sourceId) {
		// TODO Auto-generated method stub
		return null;
	}


	public List<Invoice> findPaidInvoicesForCompanyId(String companyId) {
		// TODO Auto-generated method stub
		return null;
	}


	public List<Invoice> findUnpaidInvoicesForCompanyId(String companyId) {
		// TODO Auto-generated method stub
		return null;
	}


	public List<InspectorCompany> findInspectorCompaniesByZipCode(List<String> zipCodes) {
		return Collections.EMPTY_LIST;
	}


	public Payment findPaymentByInvoiceNumber(String invoiceNumber) {
		// TODO Auto-generated method stub
		return null;
	}


	public Object findPaymentSource(String paymentSourceId,
			PaymentSourceType paymentSourceType) {
		// TODO Auto-generated method stub
		return null;
	}


	public Payment loadPayment(Serializable id) {
		// TODO Auto-generated method stub
		return null;
	}

}
